glgetteximage - Man Page






glGetTexImage(3G)	       OpenGL Reference		     glGetTexImage(3G)



NAME
     glGetTexImage - return a texture image


C SPECIFICATION
     void glGetTexImage( GLenum	target,
			 GLint level,
			 GLenum	format,
			 GLenum	type,
			 GLvoid	*pixels	)


PARAMETERS
     target  Specifies which texture is	to be obtained.	 GL_TEXTURE_1D,
	     GL_TEXTURE_2D, GL_DETAIL_TEXTURE_2D_SGIS, and GL_TEXTURE_3D_EXT
	     are accepted.

     level   Specifies the level-of-detail number of the desired image.	 Level
	     0 is the base image level.	 Level n is the	nth mipmap reduction
	     image.

     format  Specifies a pixel format for the returned data.  The supported
	     formats are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_RGBA,
	     GL_ABGR_EXT, GL_LUMINANCE,	and GL_LUMINANCE_ALPHA.

     type    Specifies a pixel type for	the returned data.  The	supported
	     types are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT,
	     GL_UNSIGNED_INT, GL_INT, GL_FLOAT,	GL_UNSIGNED_BYTE_3_3_2_EXT,
	     GL_UNSIGNED_SHORT_4_4_4_4_EXT, GL_UNSIGNED_SHORT_5_5_5_1_EXT,
	     GL_UNSIGNED_INT_8_8_8_8_EXT, and GL_UNSIGNED_INT_10_10_10_2_EXT.

     pixels  Returns the texture image.	 Should	be a pointer to	an array of
	     the type specified	by type.


DESCRIPTION
     glGetTexImage returns a texture image into	pixels.	 target	specifies
     whether the desired texture image is one specified	by glTexImage1D
     (GL_TEXTURE_1D), glTexImage2D (GL_TEXTURE_2D or
     GL_DETAIL_TEXTURE_2D_SGIS), or by glTexImage3DEXT (GL_TEXTURE_3D_EXT).
     level specifies the level-of-detail number	of the desired image.  format
     and type specify the format and type of the desired image array.  Please
     see the reference pages glTexImage1D and glDrawPixels for a description
     of	the acceptable values for the format and type parameters,
     respectively.

     Operation of glGetTexImage	is best	understood by considering the selected
     internal four-component texture image to be an RGBA color buffer the size
     of	the image.  The	semantics of glGetTexImage are then identical to those
     of	glReadPixels called with the same format and type, with	x and y	set to
     zero, width set to	the width of the texture image (including border if
     one was specified), and height set	to one for 1-D images, or to the



									Page 1






glGetTexImage(3G)	       OpenGL Reference		     glGetTexImage(3G)



     height of the texture image (including border if one was specified) for
     2-D images.  (Similar considerations apply	to 3D images, though there is
     no	direct analogy with glReadPixels.)  Because the	internal texture image
     is	an RGBA	image, pixel formats GL_COLOR_INDEX, GL_STENCIL_INDEX, and
     GL_DEPTH_COMPONENT	are not	accepted, and pixel type GL_BITMAP is not
     accepted.

     If	the selected texture image does	not contain four components, the
     following mappings	are applied.  Single-component textures	are treated as
     RGBA buffers with red set to the single-component value, and green, blue,
     and alpha set to zero.  Two-component textures are	treated	as RGBA
     buffers with red set to the value of component zero, alpha	set to the
     value of component	one, and green and blue	set to zero.  Finally, three-
     component textures	are treated as RGBA buffers with red set to component
     zero, green set to	component one, blue set	to component two, and alpha
     set to zero.

     To	determine the required size of pixels, use glGetTexLevelParameter to
     ascertain the dimensions of the internal texture image, then scale	the
     required number of	pixels by the storage required for each	pixel, based
     on	format and type.  Be sure to take the pixel storage parameters into
     account, especially GL_PACK_ALIGNMENT.

NOTES
     If	an error is generated, no change is made to the	contents of pixels.

     If	type is	set to GL_UNSIGNED_BYTE_3_3_2_EXT,
     GL_UNSIGNED_SHORT_4_4_4_4_EXT, GL_UNSIGNED_SHORT_5_5_5_1_EXT,
     GL_UNSIGNED_INT_8_8_8_8_EXT, or GL_UNSIGNED_INT_10_10_10_2_EXT and	the
     EXT_packed_pixels extension is not	supported then a GL_INVALID_ENUM error
     is	generated.

     GL_ABGR_EXT is part of the	EXT_abgr extension and
     GL_DETAIL_TEXTURE_2D_SGIS is part of the SGIS_detail_texture extension.

     See glIntro for more information on using extensions.

ERRORS
     GL_INVALID_ENUM is	generated if target, format, or	type is	not an
     accepted value.

     GL_INVALID_VALUE is generated if level is less than zero or greater than
     log max, where max	is the returned	value of GL_MAX_TEXTURE_SIZE.
	2
     GL_INVALID_OPERATION is generated if glGetTexImage	is executed between
     the execution of glBegin and the corresponding execution of glEnd.

ASSOCIATED GETS
     glGetTexLevelParameter with argument GL_TEXTURE_WIDTH
     glGetTexLevelParameter with argument GL_TEXTURE_HEIGHT
     glGetTexLevelParameter with argument GL_TEXTURE_DEPTH_EXT
     glGetTexLevelParameter with argument GL_TEXTURE_BORDER



									Page 2






glGetTexImage(3G)	       OpenGL Reference		     glGetTexImage(3G)



     glGetTexLevelParameter with argument GL_TEXTURE_COMPONENTS
     glGet with	arguments GL_PACK_ALIGNMENT and	others


MACHINE	DEPENDENCIES
     RealityEngine, RealityEngine2, and	VTX systems do not support convolving
     texture images as they are	retrieved from texture memory.

     On	InfiniteReality	systems, readback of texture images into signed
     integer data types	does not work.	Also, readback of tall,	very thin
     texture maps may not work in all cases.  These problems will be corrected
     in	a future release.

     The EXT_packed_pixels extension is	not supported on RealityEngine,
     RealityEngine2, and VTX systems; it will be supported on High Impact and
     Maximum Impact systems in a future	release.


SEE ALSO
     glDrawPixels, glReadPixels, glTexImage1D, glTexImage2D, glTexImage3DEXT



































									Page 3